//
// File:	IView.hpp
// Author:	Thomas TISSOT-DUPONT
// Login:	<thomas.tissotdupont@free.fr>
//
// Created:	21/04/2010 at 09:52:11
// Purpose:	
//
#ifndef IVIEW_HPP
#define IVIEW_HPP

class IView
{
public:
	virtual					~IView() {}

public:
	virtual void			SetViewCenterX(float) = 0;
	virtual void			SetViewCenterY(float) = 0;
	virtual float			GetViewCenterX() const = 0;
	virtual float			GetViewCenterY() const = 0;

public:
	virtual void			SetViewWidth(unsigned int) = 0;
	virtual void			SetViewHeight(unsigned int) = 0;
	virtual unsigned int	GetViewWidth() const = 0;
	virtual unsigned int	GetViewHeight() const = 0;

public:
	virtual bool			IsPointInside(float flX, float flY, float flBoundMultiplier = 1.0f) const = 0;
	virtual bool			IsRectInside(float flCenterX, float flCenterY, unsigned int iWidth, unsigned int iHeight, float flBoundMultiplier = 1.0f) const = 0; //Should I use the CENTER instead ?
};

#endif //!IVIEW_HPP
